using System;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.UI.Security.Services;
using System.Collections.Generic;
using Sinacor.Infra.Common;
using Sinacor.UI.Bovespa.ManutencaoOrdens.Communication.Bovespa.ManutencaoOrdens.Mensagem;

namespace Sinacor.UI.Bovespa.ManutencaoOrdens.Communication.Translator.DataContractToModel
{
    /// <summary>
    /// Traduz um contrato de dados em um modelo
    /// </summary>
    public class Mensagem
    {
        public Mensagem() { }

		/// <summary>
        /// ToMensagem
		/// </summary>
		/// <param name="from"></param>
		/// <returns></returns>
		public Model.Mensagem ToMensagem(MensagemResponse from)
        {
            Model.Mensagem retorno = new Sinacor.UI.Bovespa.ManutencaoOrdens.Model.Mensagem();

            if (from == null)
                return null;

            retorno.Codigo = from.Codigo;
            retorno.Descricao = from.Descricao;            

            return retorno;
		}

		/// <summary>
        /// ToMensagem - LIST
		/// </summary>
		/// <param name="from"></param>
		/// <returns></returns>
        public ModelCollection<Model.Mensagem> ToMensagem(List<MensagemResponse> from)
        {
            ModelCollection<Model.Mensagem> lista = new ModelCollection<Sinacor.UI.Bovespa.ManutencaoOrdens.Model.Mensagem>();
            Model.Mensagem item = null;

            if (from == null)
                return null;

            foreach (MensagemResponse inLista in from)
            {
                item = this.ToMensagem(inLista);
                lista.Add(item);
            }

            return lista;
		}
	}
}